package reflect;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

/**
 * 利用反射机制调用Person类中所有的无参方法
 * 提示：Method类上有一个方法：
 * int getParameterCount()
 * 该方法泳衣获取当前方法对象所表示的方法所多少个参数
 */
public class Test1 {
    public static void main(String[] args) throws Exception{
        Class cls =Class.forName("reflect.Person");
        Object obj =cls.newInstance();
        Method[] methods = cls.getMethods();
        for (Method method : methods) {
            if (method.getParameterCount()==0//判断是否无参
                    &&
                method.getModifiers()== Modifier.PUBLIC//判断方法是否为public
            ){
                 method.invoke(obj);
            }
        }
    }
}
